what are properties in programming